It is well-known technology to interconnect computer systems using different hardware and different operating systems by using standardized network interfaces. Especially cloud environments may comprise manifold server machine architectures and operating systems (heterogeneous cloud environments).
Such server machines need to undergo regular maintenance or face other outages leading to server downtimes. To avoid this problem, some server machines offer zero downtime migration of virtual servers to another server machine. However, these solutions always require the target machine to be of the same architecture as the source machine.
In a heterogeneous cloud environment, at a point of time when a zero downtime migration must be carried out, no server machine of the same architecture as the source server machine may be available whereas a server machine of a different architecture, different architecture level or different hardware features installed may be available.
Therefore, it would be advantageous to have a mechanism for carrying out migration of applications in a heterogeneous cloud scenario where migrated applications perform natively or nearly natively on the target machine, thus offering the most possible flexibility.
Migration in the context of the invention may relate to live migration or non-live migration. Live migration means migrating a running process without interruptions. Non-live migration means that a running process is suspended on a source system, the state of the process is saved on the source system, the state of the process is transferred from the source system to a target system. After transferring the state of the process, the process is terminated on the source system and restarted on the target system.